-- despues de crear las tablas 
use master
go

create database suscripciones_bdd
go 

use suscripciones_bdd
go

--  tablas de tabasco
create table suscriptor_tab
(
	suscriptor_id 	numeric(10),
	nombre 			varchar(50),
	apellidos 		varchar(50),
	telefono 		numeric(12),
	domicilio 		varchar(50),
	estado 			varchar(50)		
)

create existing table editorial(
	editorial_id 	numeric(10),
	nombre			varchar(50),
	telefono		numeric(12),
	domicilio		varchar(50),
	estado 			varchar(50)
) external table at "BRAHM.suscripciones_bdd.dbo.editorial"

create existing table genero(
	genero_id 		numeric(10),
	tipo 			varchar(50)
) external table at "BRAHM.suscripciones_bdd.dbo.genero"

create existing table escritor(
	escritor_id 	numeric(10),
	genero_id 		numeric(10) 
) external table at "BRAHM.suscripciones_bdd.dbo.escritor"

create existing table frecuencia_salida(
	frecuencia_salida_id 	numeric(10),
	periodo 				varchar(50)
) external table at "BRAHM.suscripciones_bdd.dbo.frecuencia_salida"

create existing table tipo_publicacion(
	tipo_publicacion_id 	numeric(10),
	tipo 					varchar(50)
) external table at "BRAHM.suscripciones_bdd.dbo.tipo_publicacion"

create table publicacion_tab
(
	publicacion_id			numeric(10),
	tipo_publicacion_id		numeric(10),
	frecuencia_salida_id 	numeric(10),
	editorial_id 			numeric(10),
	nombre 					varchar(150)
)

create table escritor_publicacion_tab
(
	publicacion_id 	numeric(10),
	escritor_id 	numeric(10),
	fecha_inicio 	date
)

create table suscripcion_tab
(
	folio 			numeric(10),
	suscriptor_id 	numeric(10),
	publicacion_id 	numeric(10),
	fecha_inicio 	date,
	duracion 		numeric(5)
)

-- definicion de llaves primarias en las tablas de df
alter table suscriptor_tab 	add constraint suscriptor_idpk primary key(suscriptor_id)
alter table editorial 		add constraint editorial_idpk primary key(editorial_id)
alter table genero 			add constraint genero_idpk primary key(genero_id)
alter table escritor 		add constraint escritor_idpk primary key(escritor_id)
alter table frecuencia_salida add constraint frecuencia_salida_idpk primary key(frecuencia_salida_id)
alter table tipo_publicacion add constraint tipo_publicacion_idpk primary key(tipo_publicacion_id)
alter table suscripcion_tab  add constraint foliopk primary key(folio)

-- definicion de llaves foraneas
alter table escritor 		add constraint escritor_generofk foreign key(genero_id) references genero(genero_id)
alter table escritor_publicacion add constraint esc_pub_publicfk foreign key(publicacion_id) references publicacion(publicacion_id)
alter table escritor_publicacion add constraint esc_pub_escrfk foreign key(escritor_id) references escritor(escritor_id)

alter table publicacion_tab add constraint frecuencia_salidafk foreign key (frecuencia_salida_id) references frecuencia_salida(frecuencia_salida_id)
alter table publicacion_tab add constraint editorial_fk foreign key (editorial_id) references editorial(editorial_id)
alter table publicacion_tab add constraint tipo_publicacionfk foreign key (tipo_publicacion_id) references tipo_publicacion(tipo_publicacion_id)

alter table suscripcion_tab add constraint suscriptor_idfk foreign key (suscriptor_id) references suscriptor_tab(suscriptor_id)
alter table suscripcion_tab add constraint publicacion_idfk foreign key (publicacion_id) references publicacion_tab(publicacion_id)

